package model;

import java.io.Serializable;
import java.util.Collection;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
public class HistoriaSocial implements Serializable
{
    @Id @GeneratedValue(strategy=GenerationType.TABLE)
    private int id;
    private String motivoIntervencionSocial;
    @Temporal(TemporalType.DATE)
    private Date fechaIngresoHospital;
    private String diagnosticoMedico;
    @Temporal(TemporalType.DATE)
    private Date fechaInicio;
    private String beneficios;
    private String accesibilidadAlHospital;
    private String aproximacionDiagnostica;
    private String indicaciones;
    @OneToOne
    private Institucion institucion;
    @ManyToMany
    private Collection<Institucion> institucionesReferentes;
    @OneToMany
    private Collection<Practica> practicas;
    @OneToOne
    private Profesional profesionalResponsable;
    @ManyToMany
    private Collection<Servicio> servicios;
    @ManyToMany
    private Collection<Persona> grupoConviviente;
    @ManyToMany
    private Collection<Persona> grupoNoConviviente;
    @ManyToOne
    private Persona personaEntrevistada;

    public String getMotivoIntervencionSocial()
    {
        return motivoIntervencionSocial;
    }

    public void setMotivoIntervencionSocial(String motivoIntervencionSocial)
    {
        this.motivoIntervencionSocial = motivoIntervencionSocial;
    }

    public Date getFechaIngresoHospital()
    {
        return fechaIngresoHospital;
    }

    public void setFechaIngresoHospital(Date fechaIngresoHospital)
    {
        this.fechaIngresoHospital = fechaIngresoHospital;
    }

    public String getDiagnosticoMedico()
    {
        return diagnosticoMedico;
    }

    public void setDiagnosticoMedico(String diagnosticoMedico)
    {
        this.diagnosticoMedico = diagnosticoMedico;
    }

        public Date getFechaInicio()
    {
        return fechaInicio;
    }

    
    public void setFechaInicio(Date fechaInicio)
    {
        this.fechaInicio = fechaInicio;
    }

    public String getBeneficios()
    {
        return beneficios;
    }

    public void setBeneficios(String beneficios)
    {
        this.beneficios = beneficios;
    }

    public String getAccesibilidadAlHospital()
    {
        return accesibilidadAlHospital;
    }

    public void setAccesibilidadAlHospital(String accesibilidad)
    {
        this.accesibilidadAlHospital = accesibilidad;
    }

    public String getAproximacionDiagnostica()
    {
        return aproximacionDiagnostica;
    }

    public void setAproximacionDiagnostica(String aproximacionDiagnostica)
    {
        this.aproximacionDiagnostica = aproximacionDiagnostica;
    }

    public String getIndicaciones()
    {
        return indicaciones;
    }

    public void setIndicaciones(String indicaciones)
    {
        this.indicaciones = indicaciones;
    }

    public Institucion getInstitucion()
    {
        return institucion;
    }

    public void setInstitucion(Institucion institucion)
    {
        this.institucion = institucion;
    }

    public Collection<Institucion> getInstitucionesReferentes()
    {
        return institucionesReferentes;
    }

    public void setInstitucionesReferentes(Collection<Institucion> institucionesReferentes)
    {
        this.institucionesReferentes = institucionesReferentes;
    }

    public Collection<Practica> getPracticas()
    {
        return practicas;
    }

    public void setPracticas(Collection<Practica> practicas)
    {
        this.practicas = practicas;
    }

    public Profesional getProfesionalResponsable()
    {
        return profesionalResponsable;
    }

    public void setProfesionalResponsable(Profesional profesionalResponsable)
    {
        this.profesionalResponsable = profesionalResponsable;
    }

    public Collection<Servicio> getServicios()
    {
        return servicios;
    }

    public void setServicios(Collection<Servicio> servicios)
    {
        this.servicios = servicios;
    }

    public Collection<Persona> getGrupoConviviente()
    {
        return grupoConviviente;
    }

    public void setGrupoConviviente(Collection<Persona> grupoConviviente)
    {
        this.grupoConviviente = grupoConviviente;
    }

    public Collection<Persona> getGrupoNoConviviente()
    {
        return grupoNoConviviente;
    }

    public void setGrupoNoConviviente(Collection<Persona> grupoNoConviviente)
    {
        this.grupoNoConviviente = grupoNoConviviente;
    }

    public Persona getPersonaEntrevistada()
    {
        return personaEntrevistada;
    }

    public void setPersonaEntrevistada(Persona personaEntrevistada)
    {
        this.personaEntrevistada = personaEntrevistada;
    }
 
}
